import numpy as np

# 创建一个一维数组
arr = np.arange(10)
print("原始一维数组:", arr)

# 基本切片操作 [start:stop:step]
# 从索引 2 开始到索引 6 结束（不包含 6）
slice_1 = arr[2:6]
print("切片 [2:6]:", slice_1)

# 从开始到索引 5 结束（不包含 5）
slice_2 = arr[:5]
print("切片 [:5]:", slice_2)

# 从索引 3 开始到结束
slice_3 = arr[3:]
print("切片 [3:]:", slice_3)

# 每隔 2 个元素取一个
slice_4 = arr[::2]
print("切片 [::2]:", slice_4)

# 逆序切片
slice_5 = arr[::-1]
print("逆序切片 [::-1]:", slice_5)

# 使用负数索引切片
# 从倒数第 3 个元素到倒数第 1 个元素（不包含倒数第 1 个）
slice_6 = arr[-3:-1]
print("切片 [-3:-1]:", slice_6)
# -*- coding: utf-8 -*-
"""
Created on Mon Jun 23 19:09:20 2025
数组切片的含义：从原始数组里面抽取（采样）一部分数据出来，
作为一个新的数组

@author: ZRK
"""

import numpy as np

# 生成一个0~9，不包含9的数组
arr = np.arange(9)

# 切片方式1：通过slice()函数生成切片器，通过切片器对数组进行切片，
# 或者直接传入（a:b:c）格式切片数字，一样效果
s = slice(1, 8, 2)

# 直接在索引里面放切片器即可
arr_ret = arr[s]
arr_ret2 = arr[1: 8: 2]


print(arr_ret2)   # 输出 [1 3 5 7]